
 ┌──────────────────────────────┐
 │ Release notes for i3 v4.7    │
 └──────────────────────────────┘

This is the i3 v4.7. This version is considered stable. All users of i3 are
strongly encouraged to upgrade.

This release features a number of documentation improvements, better error
messages in various places, better tray compatibility in i3bar, and a number of
bugfixes.

Relevant from a packaging point of view is that we have switched to the new
xcb-util-cursor library to get rid of libXcursor. The last remaining big piece
of Xlib code now is XKB, which we may be able to tackle in upcoming releases
thanks to the just released libxcb 1.10.

 ┌────────────────────────────┐
 │ Changes in v4.7            │
 └────────────────────────────┘

  • docs/userguide: clarify variable parsing
  • docs/userguide: clarify urgent_workspace
  • docs/userguide: add proper quoting for rename sample command
  • docs/userguide: clarify multiple criteria
  • docs/userguide: userguide: explain the difference between comma and semicolon for command chaining
  • docs/hacking-howto: update to reflect parser changes
  • man/i3-dump-log: document -f
  • switch from libXcursor to xcb-util-cursor
  • Respect workspace numbers when looking for a free workspace name
  • Revert "raise fullscreen windows on top of all other X11 windows"
  • i3bar: Create pixmaps using the real bar height, rather than screen height
  • Add scratchpad bindings to the default config
  • Close all children when closing a workspace
  • i3bar: Add new bar.binding_mode_indicator configuration
  • Improve error message when $XDG_RUNTIME_DIR is not writable
  • libi3/font: Draw the text at the expected place
  • libi3/font: Set DPI for the pango context
  • Add ability to escape out of a mouse-resize operation
  • Do not resize/reposition floating containers when moving them to scratchpad
  • i3-nagbar: Set button inner-width to the width of the label
  • Assigned windows open urgent when not visible
  • i3bar: Only configure tray on own outputs
  • Command 'move <direction>' moves across outputs
  • i3bar: Handle DestroyNotify events
  • i3bar: Realign tray clients on map/unmap notify
  • i3bar: Group child processes for signalling
  • i3bar: Print error message when status_command fails
  • Remove references to PATH_MAX macro for GNU/Hurd

 ┌────────────────────────────┐
 │ Bugfixes                   │
 └────────────────────────────┘

  • update root geometry on output changes for “fullscreen global”
  • don’t flatten tabbed/stacked containers
  • Fix handling of new windows with WM_STATE_FULLSCREEN
  • correctly recognize assigned windows as urgent
  • Fix keyboard and mouse resize in nested containers
  • Reply to _NET_REQUEST_FRAME_EXTENTS correctly
  • Fix command parser: resizing tiling windows
  • Fix output retrieval for floating cons
  • Use _PATH_BSHELL to ensure using a bourne shell
  • Instead of crashing, return DRAG_ABORT on UnmapNotify from drag_pointer
  • Remove-child callback skips output content cons
  • ignore _NET_ACTIVE_WINDOW for scratchpad windows

 ┌────────────────────────────┐
 │ Thanks!                    │
 └────────────────────────────┘

Thanks for testing, bugfixes, discussions and everything I forgot go out to:

Alexander Neumann, badboy, Baptiste Daroussin, Bas Pape, Deiz, Franck Michea,
Jean-Philippe Ouellet, jj, jookia, kaersten, Lancelot SIX, Leo Gaspard,
mistnim, Peter Maatman, Quentin Glidic, Sebastian Ullrich, Slava, syl20bnr,
Tony Crisci, Trung Ngo, Vivien Didelot, Xarthisius

I want to specifically thank Tony Crisci for the very valuable help with
responding to bugreports in our bugtracker. Thank you!

-- Michael Stapelberg, 2013-12-22
